package com.efounder.util;

import android.text.TextUtils;

import com.efounder.constant.EnvironmentVariable;

import java.util.Arrays;
import java.util.List;

import static com.efounder.frame.utils.Constants.CHAT_PASSWORD;
import static com.efounder.frame.utils.Constants.CHAT_USER_ID;

/**
 * 在登录之前做的一些检查
 * Created by yqs97.
 * Date: 2019/11/27
 * Time: 9:50
 */
public class BeforeLoginCheckUtils {

    /**
     * 检查资源文件是否完整
     *
     * @return
     */
    public static boolean checkProfileisFull() {
        return PackgeFileCheckUtil.checkFileIsFull(AppContext.getInstance());
    }

    /**
     * 检查本地是否有Im用户的信息
     *
     * @return
     */
    public static boolean checkHasIMUserAccount() {
        //如果不支持im服务，检查结果返回true
        if (!EnvSupportManager.isSupportIM()) {
            return true;
        }
        String chatUserID = EnvironmentVariable.getProperty(CHAT_USER_ID);
        String chatPassword = EnvironmentVariable.getProperty(CHAT_PASSWORD);
        if (TextUtils.isEmpty(chatPassword) || TextUtils.isEmpty(chatUserID)) {
            return false;
        }
        return true;
    }

    /**
     * 检查本地是否有登录用户的信息
     * ！！！！！！ 注意 某些应用 没有帐号密码登录！慎重调用此方法
     *
     * @return
     */
    public static boolean checkHasLoginAccount() {
        String passWord = EnvironmentVariable.getPassword();
        String userName = EnvironmentVariable.getUserName();
        if (TextUtils.isEmpty(passWord) || TextUtils.isEmpty(userName)) {
            return false;
        }
        return true;
    }

    /**
     * 检查其他的登录信息
     * 参数为 env中的key
     * 取出后是空，那返回false 需要重新登录
     *
     * @return
     */
    public static boolean checkHasOtherLoginInfo(String... keys) {
        List<String> keysList = Arrays.asList(keys);
        for (int i = 0; i < keysList.size(); i++) {
            String value = EnvironmentVariable.getProperty(keysList.get(i));
            if (TextUtils.isEmpty(value)) {
                return false;
            }
        }
        return true;
    }
}
